1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to providing a video stream having integrity and, more particularly, to including the hash value of a frame in the header of a video stream and inserting authentication information about the header into the video stream, thus ensuring the integrity of the video stream from forgery.
2. Description of the Related Art
With the variety of network environments, a streaming system must be designed to provide streaming services for voice and video data in consideration of the bandwidth of a network, which dynamically varies, in addition to a plurality of different devices. Therefore, in general, a third module, other than the transmission module and the reception module of the streaming system, transcodes streaming data in consideration of the conditions of a streaming data reception device and a network, in order to sufficiently utilize device resources and network resources.
When a streaming service for commercial content is provided, a security means, such as encryption, is used to prevent malicious users from accessing the streaming service, and thus it is not easy to use a conventional transcoding method.
Recently conducted research into technology for streaming encrypted content, which requires transcoding, can be classified into a first method of decoding and transcoding encrypted stream content using a transcoder, and then re-encrypting the transcoded stream content, and a second method using scalable coding, and can be described based on those methods.
However, the first method has a significant problem in that decoded content may be leaked, and the second method, which uses scalable coding, can guarantee high stability in that decoding and re-encryption are not required, but has a problem in that it cannot guarantee the integrity of content against forgery.
Hereinafter, a process of performing decoding/re-encryption on content to be protected using a transcoder and a process of performing transcoding using scalable coding are described.
In the case of the process of performing decoding/re-encryption of content to be protected using conventional transcoder, a system for performing the process includes a source device A for transmitting content, a sink device B for receiving content in order to use the content, and a transcoder T for converting streaming data transmitted from the source device A into streaming data suitable for the sink device B.
First, if the source device A encodes content and transmits the encoded content to the transcoder T, the transcoder T encrypts the encoded content C using a decodable method.
Next, the source device A transmits encrypted content E to the transcoder T. Then, the transcoder T decodes the encrypted content E, and thus acquires the encoded content C.
Next, the transcoder T applies transcoding to the content C, which has been acquired through decoding, converts the content C into content C′, and re-encrypts the content C′ to allow only the sink device B to decode the encrypted content. Next, the transcoder T transmits encrypted content E′ to the sink device B.
In the case of the process of performing transcoding using conventional scalable coding, the source device A initially encodes content using a scalable coding technique. Next, the source device A includes information about encoding in a header, divides the encoded content into layers through progressive encryption, and encrypts the encoded content respectively for each layer.
Next, the source device A transmits both encoded content E and encoding information (a truncation point) to the transcoder T. Then, the transcoder T deletes arbitrary encrypted packets without decoding the encrypted content E using the encoding information, thus transcoding encrypted content.
Next, the transcoder T transmits transcoded content E′ to the sink device B.
However, the above processes do not consider the integrity of content, and have several other disadvantages.
That is, in the case of the process for performing decoding/re-encryption of content, the security of a transcoder must be guaranteed from the standpoint that the transcoder must decode and re-encrypt encrypted content.
Further, in the case of the process for performing transcoding using scalable coding, the security of the transcoder does not need to be guaranteed from the standpoint that encrypted content is not decoded, but there is a problem in that the technology provides only hiding of content, but cannot guarantee the integrity of content.
Accordingly, the integrity of content may be attacked through the revision of an unencrypted header, the insertion of false frame information, a malicious attack to delete a Group of Pictures (GOP), etc.
For example, if a header is not encrypted, a malicious attacker can revise truncation-related information included in the header, thus enabling the transcoder to perform undesirable transcoding (that is, the revision of an unencrypted header).
Further, a malicious transcoder or another malicious attacker can insert arbitrary false frame information instead of an encrypted content frame. However, because the sink device cannot distinguish encrypted content frame from false frames, such an attack cannot be prevented (that is, the insertion of false frames).
Further, a malicious attacker can delete an arbitrary GOP from encrypted content. However, since the sink device cannot be aware that the arbitrary GOP is deleted, such an attack cannot be prevented (that is, a malicious attack to delete a GOP).
Therefore, a method of guaranteeing the integrity of content against forgery, without requiring decoding and re-encryption, is needed.
Korean Patent Laid-Open Publication No. 1999-053174 (entitled a “Method of Determining the Integrity of Information Using a Hash Function”) discloses a method of determining the integrity of information using a hash function, which creates an additional message from an input message and processes the additional message to eliminate simplicity when applying a hash function to a message, causes functions used in operations at respective steps to satisfy properties required for strong encryption, and utilizes a message-dependent rotation, which is dependent upon an input message, for a rotation operation, thus improving safety. However, such a method does not disclose information, for providing previous and subsequent correlations between frames (that is, a hash value), in a header.